1. Field of Invention
This invention relates to the field of communications, and in particular to a method of locating echoes and detecting double-talk in communication systems. The method of the invention can be used to detect and track up to three distinct echoes in a communication channel, and provide automatic detection of doubletalk without any extra computations. These are important functions for use in echo cancellation systems.
2. Description of Related Art
Echoes are a serious problem in telephone channels. When a person speaks into a telephone, a voice signal travels to the receiver, where a portion of the signal returns to the originating telephone as an echo. This can be particularly annoying for the particiants, especially if the delay becomes appreciable.
Echo cancellation has been used extensively in telecommunications applications to recondition a wide variety of signals, such as speech, data transmission, and video. The search for mathematical algorithms to perform echo cancellation has produced several different approaches with varying degrees of complexity, cost, and performance.
The traditional approach to echo cancellation has been to use an adaptive filter of length L, where L equals the number of taps necessary to extend just beyond the duration of the echo. See, for example, S. Haykin, Adaptive Filter Theory, Prentice-Hall, Upper Saddle River, N.J. (1996). In the past, the ability to handle echoes up to 64 ms has been the standard, although 128 ms is becoming more the norm. At the conventional telephone bit rate of 8000 samples per second, 64 ms echo tail capacity requires L=512, and 128 ms capacity requires L=1024.
The desire to create ultra-high density echo cancellation parts, capable of cancelling hundreds or even thousands of channels of echo, presents a tremendous design challenge. As an example, using the popular LMS (Least Mean Squares) algorithm to cancel 128 ms echo tails in the 672 channels of a T3 line would require at least 11 billion multiply-accumulates (MACs) per second. This is well beyond what can be implemented practically and economically on a single chip.
To compensate, very low computation echo locators may be employed to assist the LMS filters. The echo locators tell the LMS filters when to run and which taps to update. The LMS filters only need to run when a channel's echo path changes. In a telephone system, for example, this usually only occurs at the start of a call. In the T3 example, it is extremely unlikely that all of the channels would need converging at the same time. It is therefore not necessary to have 672 LMS filters. Rather, each channel has a low computation echo locator, and these allocate a much smaller pool of LMS filters to converge channels as needed.
Low computation echo locators often make use of subbanding. See, for example, M. Vetterli and J. Kovacevic, Wavelets and Subband Coding, Prentice-Hall, Upper Saddle River, N.J. (1995). Subbanding involves using bandpass filters to isolate a range of frequencies. This process is then followed by downsampling, which is a reduction in the sampling rate of the signal. It is possible to run LMS on subbanded signals to track echoes with very few computations.
Double-talk is an additional problem which all echo cancellers face. The doubletalk condition arises when there is simultaneous transmission of signals from both sides of the echo canceller. Under such circumstances, the return echo path signal, SIN (see FIG. 1), contains both return echo from the echo source signal, and a double-talk signal. Double-talk prevents an LMS-based echo canceller from converging on the correct echo path. It will also cause a pre-converged echo canceller to diverge to unpredictable states. Following divergence, the echo canceller will no longer cancel the echo, and must reconverge to the correct solution. Such behaviour is highly unacceptable, and is to be avoided in actual devices. There is therefore a need for some means of detecting double-talk and preventing divergence.
An echo locator which estimates the bulk delay and span of a single echo reflection using fullband and subband methods has already been described in PCT publication No. WO0105053, entitled “Fast Line Echo Cancellation”. This patent proposes to use a bulk delay estimator followed by an echo span detector to cancel the echo using a fullband adaptive filter operating in an “enhanced mode”. The echo reflection is found using a plurality of subband filters. Only one echo reflection can be found and cancelled. No provisions are made for multiple reflections in the echo path, and no method for preventing divergence from double-talk is given.